#if !defined(__APP_POOL_H__)
#define __APP_POOL_H__

#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <mqueue.h>


typedef struct{
    int (*task_func)(void *arg);
    void *arg;
}Task;
/**
 * @brief 线程池初始化
 * 
 * @param size 创建线程的个数
 * @return int 返回值为0表示成功，-1表示失败
 */
int app_pool_init(int size);

/**
 * @brief 关闭线程池
 * 
 */
void app_pool_close(void);
/**
 * @brief 注册任务
 * 
 * @param task  任务函数
 * @param arg 任务函数的参数
 * @return int 是否注册成功0表示成功，-1表示失败
 */
void app_pool_registerTask(int (*task_func)(void *arg), void *arg);

#endif // __APP_POOL_H__
